// propertyChecker.js

function hasAnyRequiredProperties(obj, requiredProperties) {
    for (const prop of requiredProperties) {
        if (findPropertyInNestedObject(obj, prop)) {
            return true;
        }
    }
    return false;
}

function findPropertyInNestedObject(obj, prop) {
    if (typeof obj !== 'object' || obj === null) {
        return false;
    }
    for (let key in obj) {
        if (key === prop) {
            return true;
        }
        if (typeof obj[key] === 'object' && obj[key] !== null) {
            if (findPropertyInNestedObject(obj[key], prop)) {
                return true;
            }
        }
    }
    return false;
}

// 导出函数，以便其他文件可以使用
module.exports = {
    hasAnyRequiredProperties,
    findPropertyInNestedObject
};